package com.hzhr.iot.device.model.iotDevice;

import com.hzhr.iot.core.annotation.CygModel;
import com.hzhr.iot.core.annotation.CygProperty;
import com.hzhr.iot.device.entity.IotDeviceEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(value = "IotDeviceModel", description = "物联网设备模型")
@CygModel(entity = IotDeviceEntity.class)
public class IotDeviceModel {
    @ApiModelProperty(value = "说明 : 编号", required = true)
    @CygProperty(show = "", entityProp = "id")
    private Integer id;

    @ApiModelProperty(value = "说明 : 设备代码(show_info=true时展示)", required = true)
    @CygProperty(show = "_show_info", entityProp = "code")
    private String code;
    @ApiModelProperty(value = "说明 : 设备描述(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "des")
    private String des;
    @ApiModelProperty(value = "说明 : 设备种类代码(show_info=true时展示; 关联: device_service.options.code, typeName='DEVICE_CATEGORY')", required = true)
    @CygProperty(show = "_show_info", entityProp = "categoryCode")
    private String categoryCode;
    @ApiModelProperty(value = "说明 : 设备型号编号(show_info=true时展示; 关联: device_service.iotDeviceType.id)")
    @CygProperty(show = "_show_info", entityProp = "typeId")
    private Integer typeId;
    @ApiModelProperty(value = "说明 : 设备型号编号(show_info=true时展示; 关联: device_service.iotDeviceType.id)")
    @CygProperty(show = "_show_info", entityProp = "typeExt_des")
    private String typeDes;
    @ApiModelProperty(value = "说明 : 所属公司编号(show_info=true时展示; 关联: user_service.company.id)", required = true)
    @CygProperty(show = "_show_info", entityProp = "companyId")
    private Integer companyId;
    @ApiModelProperty(value = "说明 : 所属燃气公司编号(show_info=true时展示; 关联: user_service.company.id)", required = true)
    @CygProperty(show = "_show_info", entityProp = "gasCompanyId")
    private Integer gasCompanyId;
    @ApiModelProperty(value = "说明 : 所属部门编号(show_info=true时展示; 关联: user_service.dept.id)", required = true)
    @CygProperty(show = "_show_info", entityProp = "deptId")
    private Integer deptId;
    @ApiModelProperty(value = "说明 : sim卡号(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "simNo")
    private String simNo;
    @ApiModelProperty(value = "说明 : sim卡类型代码(show_info=true时展示; 关联: device_service.options.code, typeName='SIM_TYPE')")
    @CygProperty(show = "_show_info", entityProp = "simTypeCode")
    private String simTypeCode;
    @ApiModelProperty(value = "说明 : sim卡类型描述(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "simTypeExt_des")
    private String simTypeDes;
    @ApiModelProperty(value = "说明 : iot平台代码(show_info=true时展示; 关联: device_service.options.code, typeName='IOT_PLATFORM_TYPE')")
    @CygProperty(show = "_show_info", entityProp = "iotPlatformCode")
    private String iotPlatformCode;
    @ApiModelProperty(value = "说明 : iot平台imei号(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "iotPlatformImei")
    private String iotPlatformImei;
    @ApiModelProperty(value = "说明 : iot平台设备编号(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "iotPlatformDeviceId")
    private String iotPlatformDeviceId;
    @ApiModelProperty(value = "说明 : iot平台设备IP地址(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "iotPlatformIp")
    private String iotPlatformIp;
    @ApiModelProperty(value = "说明 : iot平台设备端口号(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "iotPlatformPort")
    private String iotPlatformPort;
    @ApiModelProperty(value = "说明 : 绑定状态(show_info=true时展示; 关联: device_service.options.code, typeName = 'BIND_STATUS')")
    @CygProperty(show = "_show_info", entityProp = "bindStatus")
    private String bindStatus;
    @ApiModelProperty(value = "说明 : 绑定状态描述(show_info=true时展示; 关联: device_service.options.code, typeName = 'BIND_STATUS')")
    @CygProperty(show = "_show_info", entityProp = "bindStatusExt_des")
    private String bindStatusDes;
    @ApiModelProperty(value = "说明 : 销售时间(show_info=true时展示; 毫秒级时间戳)")
    @CygProperty(show = "_show_info", entityProp = "saleTime")
    private Long saleTime;
    @ApiModelProperty(value = "说明 : 上报时间(show_info=true时展示; HHmmss)")
    @CygProperty(show = "_show_info", entityProp = "reportTime")
    private String reportTime;
    @ApiModelProperty(value = "说明 : 上报周期(show_info=true时展示; 关联: device_service.options.code, typeName = 'REPORT_PERIOD')")
    @CygProperty(show = "_show_info", entityProp = "reportPeriod")
    private String reportPeriod;
    @ApiModelProperty(value = "说明 : 冻结日(show_info=true时展示；1-28)")
    @CygProperty(show = "_show_info", entityProp = "freezingDay")
    private String freezingDay;
    @ApiModelProperty(value = "说明 : 上报周期描述(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "reportPeriodExt_des")
    private String reportPeriodDes;
    @ApiModelProperty(value = "说明 : 异常时上报周期(show_info=true时展示; 关联 : device_service.options.code, typeName = 'REPORT_PERIOD')")
    @CygProperty(show = "_show_info", entityProp = "exceptionReportPeriod")
    private String exceptionReportPeriod;
    @ApiModelProperty(value = "说明 : 异常时上报周期描述(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "exceptionReportPeriodExt_des")
    private String exceptionReportPeriodDes;
    @ApiModelProperty(value = "说明 : 报警上限值(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "alarmMax")
    private Double alarmMax;
    @ApiModelProperty(value = "说明 : 报警下限值(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "alarmMin")
    private Double alarmMin;
    @ApiModelProperty(value = "说明 : 采集频率(show_info=true时展示; 单位 : 小时)")
    @CygProperty(show = "_show_info", entityProp = "reportFrequency")
    private Float reportFrequency;
    @ApiModelProperty(value = "说明 : 异常时采集频率(show_info=true时展示; 单位 : 小时)")
    @CygProperty(show = "_show_info", entityProp = "exceptionReportFrequency")
    private Float exceptionReportFrequency;
    @ApiModelProperty(value = "说明 : 采集频率(show_info=true时展示; 单位 : 小时)")
    @CygProperty(show = "_show_info", entityProp = "collectFrequency")
    private Float collectFrequency;
    @ApiModelProperty(value = "说明 : 异常时采集频率(show_info=true时展示; 单位 : 小时)")
    @CygProperty(show = "_show_info", entityProp = "exceptionCollectFrequency")
    private Float exceptionCollectFrequency;
    @ApiModelProperty(value = "说明 : 备注(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "remark")
    private String remark;
    @ApiModelProperty(value = "说明 : 经度(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "longitude")
    private Double longitude;
    @ApiModelProperty(value = "说明 : 纬度(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "latitude")
    private Double latitude;
    @ApiModelProperty(value = "说明 : 资源代码(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "resourceCode")
    private String resourceCode;
    @ApiModelProperty(value = "说明 : 创建时间(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "createTime")
    private Long createTime;
    @ApiModelProperty(value = "说明 : 更新时间(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "updateTime")
    private Long updateTime;
    @ApiModelProperty(value = "说明 : 上行密钥(show_info=true时展示; hex)")
    @CygProperty(show = "_show_info", entityProp = "upKey")
    private String upKey;
    @ApiModelProperty(value = "说明 : 下行密钥(show_info=true时展示; hex)")
    @CygProperty(show = "_show_info", entityProp = "downKey")
    private String downKey;
    @ApiModelProperty(value = "说明 : 设备时钟(毫秒级时间戳)")
    @CygProperty(show = "_show_info", entityProp = "deviceTime")
    private Long deviceTime;
    @ApiModelProperty(value = "说明 : 心跳周期(单位：秒)")
    @CygProperty(show = "_show_info", entityProp = "heartPeriod")
    private Integer heartPeriod;
    @ApiModelProperty(value = "说明 : 当前报文编号(show_info=true时展示)")
    @CygProperty(show = "_show_info", entityProp = "currentMessageId")
    private Integer currentMessageId;

    @ApiModelProperty(value = "说明 : 所属公司名称(show_company=true时展示)", required = true)
    @CygProperty(show = "_show_company", entityProp = "")
    private String companyName;
    @ApiModelProperty(value = "说明 : 所属公司简称(show_company=true时展示)")
    @CygProperty(show = "_show_company", entityProp = "")
    private String companyShortName;

    @ApiModelProperty(value = "说明 : 所属燃气公司名称(show_gasCompany=true时展示)", required = true)
    @CygProperty(show = "_show_gasCompany", entityProp = "")
    private String gasCompanyName;
    @ApiModelProperty(value = "说明 : 所属燃气公司简称(show_gasCompany=true时展示)")
    @CygProperty(show = "_show_gasCompany", entityProp = "")
    private String gasCompanyShortName;


    @ApiModelProperty(value = "说明 : 外部系统唯一键(show_outId=true时展示)")
    @CygProperty(show = "_show_outId", entityProp = "outId")
    private String outId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getDes() {
        return des;
    }

    public void setDes(String des) {
        this.des = des;
    }

    public String getCategoryCode() {
        return categoryCode;
    }

    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public Integer getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }

    public Integer getDeptId() {
        return deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public String getSimNo() {
        return simNo;
    }

    public void setSimNo(String simNo) {
        this.simNo = simNo;
    }

    public String getSimTypeCode() {
        return simTypeCode;
    }

    public void setSimTypeCode(String simTypeCode) {
        this.simTypeCode = simTypeCode;
    }

    public String getIotPlatformCode() {
        return iotPlatformCode;
    }

    public void setIotPlatformCode(String iotPlatformCode) {
        this.iotPlatformCode = iotPlatformCode;
    }

    public String getIotPlatformImei() {
        return iotPlatformImei;
    }

    public void setIotPlatformImei(String iotPlatformImei) {
        this.iotPlatformImei = iotPlatformImei;
    }

    public String getIotPlatformDeviceId() {
        return iotPlatformDeviceId;
    }

    public void setIotPlatformDeviceId(String iotPlatformDeviceId) {
        this.iotPlatformDeviceId = iotPlatformDeviceId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getResourceCode() {
        return resourceCode;
    }

    public void setResourceCode(String resourceCode) {
        this.resourceCode = resourceCode;
    }

    public Integer getGasCompanyId() {
        return gasCompanyId;
    }

    public void setGasCompanyId(Integer gasCompanyId) {
        this.gasCompanyId = gasCompanyId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyShortName() {
        return companyShortName;
    }

    public void setCompanyShortName(String companyShortName) {
        this.companyShortName = companyShortName;
    }

    public String getGasCompanyName() {
        return gasCompanyName;
    }

    public void setGasCompanyName(String gasCompanyName) {
        this.gasCompanyName = gasCompanyName;
    }

    public String getGasCompanyShortName() {
        return gasCompanyShortName;
    }

    public void setGasCompanyShortName(String gasCompanyShortName) {
        this.gasCompanyShortName = gasCompanyShortName;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public String getBindStatus() {
        return bindStatus;
    }

    public void setBindStatus(String bindStatus) {
        this.bindStatus = bindStatus;
    }

    public String getBindStatusDes() {
        return bindStatusDes;
    }

    public void setBindStatusDes(String bindStatusDes) {
        this.bindStatusDes = bindStatusDes;
    }

    public Long getSaleTime() {
        return saleTime;
    }

    public void setSaleTime(Long saleTime) {
        this.saleTime = saleTime;
    }

    public String getReportTime() {
        return reportTime;
    }

    public void setReportTime(String reportTime) {
        this.reportTime = reportTime;
    }

    public String getReportPeriod() {
        return reportPeriod;
    }

    public void setReportPeriod(String reportPeriod) {
        this.reportPeriod = reportPeriod;
    }

    public String getReportPeriodDes() {
        return reportPeriodDes;
    }

    public void setReportPeriodDes(String reportPeriodDes) {
        this.reportPeriodDes = reportPeriodDes;
    }

    public String getSimTypeDes() {
        return simTypeDes;
    }

    public void setSimTypeDes(String simTypeDes) {
        this.simTypeDes = simTypeDes;
    }

    public String getFreezingDay() {
        return freezingDay;
    }

    public void setFreezingDay(String freezingDay) {
        this.freezingDay = freezingDay;
    }

    public String getIotPlatformIp() {
        return iotPlatformIp;
    }

    public void setIotPlatformIp(String iotPlatformIp) {
        this.iotPlatformIp = iotPlatformIp;
    }

    public String getIotPlatformPort() {
        return iotPlatformPort;
    }

    public void setIotPlatformPort(String iotPlatformPort) {
        this.iotPlatformPort = iotPlatformPort;
    }

    public String getUpKey() {
        return upKey;
    }

    public void setUpKey(String upKey) {
        this.upKey = upKey;
    }

    public String getDownKey() {
        return downKey;
    }

    public void setDownKey(String downKey) {
        this.downKey = downKey;
    }

    public Integer getCurrentMessageId() {
        return currentMessageId;
    }

    public void setCurrentMessageId(Integer currentMessageId) {
        this.currentMessageId = currentMessageId;
    }

    public String getExceptionReportPeriod() {
        return exceptionReportPeriod;
    }

    public void setExceptionReportPeriod(String exceptionReportPeriod) {
        this.exceptionReportPeriod = exceptionReportPeriod;
    }

    public String getExceptionReportPeriodDes() {
        return exceptionReportPeriodDes;
    }

    public void setExceptionReportPeriodDes(String exceptionReportPeriodDes) {
        this.exceptionReportPeriodDes = exceptionReportPeriodDes;
    }

    public Double getAlarmMax() {
        return alarmMax;
    }

    public void setAlarmMax(Double alarmMax) {
        this.alarmMax = alarmMax;
    }

    public Double getAlarmMin() {
        return alarmMin;
    }

    public void setAlarmMin(Double alarmMin) {
        this.alarmMin = alarmMin;
    }

    public Float getReportFrequency() {
        return reportFrequency;
    }

    public void setReportFrequency(Float reportFrequency) {
        this.reportFrequency = reportFrequency;
    }

    public Float getExceptionReportFrequency() {
        return exceptionReportFrequency;
    }

    public void setExceptionReportFrequency(Float exceptionReportFrequency) {
        this.exceptionReportFrequency = exceptionReportFrequency;
    }

    public Float getCollectFrequency() {
        return collectFrequency;
    }

    public void setCollectFrequency(Float collectFrequency) {
        this.collectFrequency = collectFrequency;
    }

    public Float getExceptionCollectFrequency() {
        return exceptionCollectFrequency;
    }

    public void setExceptionCollectFrequency(Float exceptionCollectFrequency) {
        this.exceptionCollectFrequency = exceptionCollectFrequency;
    }

    public String getTypeDes() {
        return typeDes;
    }

    public void setTypeDes(String typeDes) {
        this.typeDes = typeDes;
    }

    public Long getDeviceTime() {
        return deviceTime;
    }

    public void setDeviceTime(Long deviceTime) {
        this.deviceTime = deviceTime;
    }

    public Integer getHeartPeriod() {
        return heartPeriod;
    }

    public void setHeartPeriod(Integer heartPeriod) {
        this.heartPeriod = heartPeriod;
    }

    public String getOutId() {
        return outId;
    }

    public void setOutId(String outId) {
        this.outId = outId;
    }
}
